1. Technical Field
This invention relates to the control of stepper motors, and, more particularly, to a control circuit for directly generating drive current command signals for a stepper motor drive.
2. Discussion of the Related Art
Stepper motors are used in a wide variety of applications due to their low cost, ruggedness, simplicity of construction, and wide acceptance, among other factors. A common type of stepper motor includes a permanent magnet-type rotor, and a stator having a body portion with inwardly extending teeth. Coils are wound on stator poles which are connected together to form motor phases. The art is literally replete with variations of this type of stepper motor. For example, a common configuration is a two-phase, 200-step per revolution (i.e., 1.8.degree. mechanical per step) stepper motor. In a non-microstepping mode of operation, current in any given motor phase in any given time is switched either fully on or fully off. It is known, however, to employ a "microstepping" mode of operation, wherein the magnitudes of the currents in the various motor phases are adjusted in accordance with a pre-determined function. For example, in a stepper motor having two phases, a drive circuit may cause electrical current to flow through the stator windings (phases) in accordance with the sine/cosine law.
One approach taken in the art to generate current command signals applied to the drive circuit is to first generate a desired velocity signal (i.e., rotational change of rotor per unit time), and then further process the desired velocity signal to obtain the current command signals. The structure for accomplishing this under this approach may include means for generating a desired velocity signal, a pulse generator, an up down counter, ROM's containing sine and cosine data, and digital-to-analog (D/A) converters. The pulse generator, up/down counter, ROM's, and D/A's are all external to the desired velocity generating means. The velocity signal may be a digital word representing the number of pulses to output over the next pre-determined time period. The pulse generator receives the velocity signal and then uniformly outputs the desired number of pulses over the next pre-determined time interval. The pulse generator's output is coupled to the counter, which then either counts up or down depending on the state of a clockwise/counterclockwise (CW/CCW) direction line (generated by a control). The counter's output defines an address applied to the ROM's. The output of the ROM's is then applied to the D/A's, whose outputs define the current command signals for each phase.
A problem with the foregoing approach is that several hardware components must be used, which increase the cost and size of the control device (commonly referred to as an indexer). In addition, the magnitude of the current commands, the number of steps per motor revolution, as well as other parameters are difficult to vary, being commonly adjusted by way of dip switches.
Accordingly, there is a need to provide an improved stepper motor control circuit that minimizes or eliminates one or more of the problems as set forth above.